using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace AiPlatformAdmin.Api.Models;

public class AgentPlugin
{
    public int AgentId { get; set; }
    public Agent Agent { get; set; } = null!;

    public int PluginId { get; set; }
    public Plugin Plugin { get; set; } = null!;

    [MaxLength(1000)]
    public string? AuthToken { get; set; } // VE-specific auth token for this plugin

    [MaxLength(500)]
    public string? Endpoint { get; set; } // VE-specific endpoint (if not set in Plugin)

    [Column(TypeName = "jsonb")]
    public string? ParameterValues { get; set; } // JSON object with parameter values: {"param1": "value1", "param2": 123}

    public DateTime CreatedAt { get; set; } = DateTime.UtcNow;

    public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
}
